A data storage system typically includes one or more host computing devices (“hosts”) in communication with one or more data storage arrays. A host typically executes an application program (e.g., a database application) which requires data associated with the application to be stored locally on the host, remotely on one of the data storage arrays, or stored both locally and remotely. The host typically includes memory devices that provide both volatile random access memory capacity (e.g., dynamic random access memory (DRAM)) and non-volatile random access memory capacity (e.g., flash memory devices). The data storage array typically includes storage devices that provide non-volatile random access storage capacity (e.g., flash memory devices) and non-volatile large storage capacity (e.g., hard disk drives (HDDs) and tape drives). Random access memory is used to satisfy high throughput and/or bandwidth requirements of a given application program while the hard disk and tape drives are used to satisfy capacity requirements. It is desirable to develop improved techniques for managing memory in data storage systems such as, for example, data storage systems configured as described above.